উদাহরণসহ Missing Value Management

উদাহরণসহ Missing Value Management

Missing values বা অনুপস্থিত মান একটি সাধারণ সমস্যা ডেটা সায়েন্স এবং মেশিন লার্নিং প্রকল্পে। সঠিকভাবে মিসিং ভ্যালু পরিচালনা করা মডেলের কার্যকারিতা এবং স্থায়িত্ব নিশ্চিত করার জন্য গুরুত্বপূর্ণ। এখানে আমি একটি উদাহরণ দিয়ে দেখাব কিভাবে মিসিং ভ্যালু পরিচালনা করা যায়।


উদাহরণ: Missing Value Management with CatBoost

১. ডেটা তৈরি করা

প্রথমে একটি উদাহরণ ডেটাসেট তৈরি করা হবে, যেখানে কিছু মিসিং ভ্যালু রয়েছে।

import pandas as pd

# উদাহরণ ডেটা তৈরি করা
data = {
    'feature1': [1, 2, None, 4, 5],   # মিসিং ভ্যালু
    'feature2': ['A', 'B', 'A', None, 'B'],  # মিসিং ভ্যালু
    'label': [0, 1, 0, 1, 0]
}

df = pd.DataFrame(data)
print("Original Data:")
print(df)

২. মিসিং ভ্যালুর চিহ্নিতকরণ

ডেটাসেটে মিসিং ভ্যালু চিহ্নিত করা।

# মিসিং ভ্যালু চিহ্নিতকরণ
missing_values = df.isnull().sum()
print("\nMissing Values Count:")
print(missing_values)

৩. CatBoost ব্যবহার করে মডেল প্রশিক্ষণ

CatBoost মডেল ব্যবহার করা হবে, যা স্বয়ংক্রিয়ভাবে মিসিং ভ্যালু পরিচালনা করতে পারে।

from catboost import CatBoostClassifier

# ফিচার এবং লেবেল নির্ধারণ
X = df[['feature1', 'feature2']]
y = df['label']

# CatBoostClassifier তৈরি করা
model = CatBoostClassifier(iterations=100, depth=3, learning_rate=0.1, loss_function='Logloss', verbose=0)

# মডেল প্রশিক্ষণ
model.fit(X, y)

# নতুন ডেটার উপর পূর্বাভাস
predictions = model.predict([[None, 'A']])  # মিসিং ভ্যালু সহ
print("\nPredictions for input with missing value:", predictions)

৪. মিসিং ভ্যালু পূরণ করা (অতিরিক্ত)

যদি আপনি CatBoost ব্যবহার না করেন এবং মিসিং ভ্যালু পূরণ করতে চান, তবে কিছু জনপ্রিয় কৌশল ব্যবহার করা যেতে পারে, যেমন:

  • গড় বা মধ্যমা দ্বারা পূরণ: সংখ্যা হিসেবে ফিচারের জন্য গড় বা মধ্যমা ব্যবহার করা।
  • ফিচার মডেলিং: কিছু পরিস্থিতিতে, একটি আলাদা বৈশিষ্ট্য তৈরি করা হতে পারে যা নির্দেশ করে যে কোনো তথ্য মিসিং ছিল।

উদাহরণ: গড় দ্বারা পূরণ করা

# feature1 এর জন্য গড় বের করা
mean_value = df['feature1'].mean()

# মিসিং ভ্যালু পূরণ করা
df['feature1'].fillna(mean_value, inplace=True)

# feature2 এর জন্য 'Unknown' দিয়ে পূরণ করা
df['feature2'].fillna('Unknown', inplace=True)

print("\nData after Imputation:")
print(df)

সারসংক্ষেপ

মিসিং ভ্যালু পরিচালনা করা একটি গুরুত্বপূর্ণ পদক্ষেপ, যা মডেলের কার্যকারিতা এবং ফলাফলকে প্রভাবিত করতে পারে। CatBoost মডেলটি মিসিং ভ্যালু পরিচালনার জন্য স্বয়ংক্রিয়ভাবে সমাধান প্রদান করে, তবে আপনি যদি মডেলের জন্য মিসিং ডেটা পূরণ করতে চান তবে বিভিন্ন কৌশল যেমন গড় বা মধ্যমা দ্বারা পূরণ করা এবং নতুন বৈশিষ্ট্য তৈরি করা কার্যকরী হতে পারে।

Content added By

আরও দেখুন...

Promotion